package com.example.transactionhintassistant.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.transactionhintassistant.pojo.dto.auth.*;
import com.example.transactionhintassistant.pojo.entity.User;
import com.example.transactionhintassistant.pojo.vo.LoginVo;
import com.example.transactionhintassistant.utils.result.Result;

public interface AuthService extends IService<User> {

    Result<LoginVo> userRegister(RegisterDto registerDto);

    Result<LoginVo> userLogin(LoginDto loginDto);

    Result<LoginVo> userLoginByEmail(EmailAndCaptchaDto emailAndCaptchaDto);

    Result<Object> changeUserPassword(ChangePwdDto changePwdDto);

    Result<Object> changeUserPwdByEmail(ChangePwdByEmailDto changePwdByEmailDto);

    Result<Object> verifyOldEmail(EmailAndCaptchaDto emailAndCaptchaDto);

    Result<Object> verifyNewEmail(ChangeEmailDto changeEmailDto);

    Result<Object> bindingEmail(EmailAndCaptchaDto emailAndCaptchaDto);


}
